/*
 * Copyright (C) 2009 2DAI
 *
 * Este programa es Software Libre; usted puede redistribuirlo
 * y/o modificarlo bajo los términos de la "GNU General Public
 * License" como lo publica la "FSF Free Software Foundation",
 * o (a su elección) de cualquier versión posterior.
 *
 * Este programa es distribuido con la esperanza de que le será
 * útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
 * implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
 * particular. Vea la "GNU General Public License" para más
 * detalles.
 *
 * Usted debe haber recibido una copia de la "GNU General Public
 * License" junto con este programa, si no, escriba a la "FSF
 * Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
 * Boston, MA  02111-1307, USA.
 */
package gui;

import logic.AbsFrameLogic;

/**
 *
 * Author: Jorge Garrido Oval
 * Ventana envoltorio de mantenimientos que contiene toda la botonera para
 * desplazamiento y modificación de registros.
 */
public class AbsFrame extends javax.swing.JInternalFrame {

    /** Creates new form AbsFrame */
    //Constructores
    public AbsFrame() {
        initComponents();
        this.setVisible(true);
        this.setIconifiable(true);
        this.setClosable(true);
    }

    public AbsFrame(AbsFrameLogic logic) {
        this();
        JBprimero.addActionListener(logic);
        JBanterior.addActionListener(logic);
        JBsiguiente.addActionListener(logic);
        JBultimo.addActionListener(logic);
        JBnuevo.addActionListener(logic);
        JBeditar.addActionListener(logic);
        JBguardar.addActionListener(logic);
        JBeliminar.addActionListener(logic);
        JBcancelar.addActionListener(logic);
        this.botonesEdit(true);
    }

    //Métodos
    /**
     * Método para activar o desactirvar la botonera según el funcionamiento
     * requerido por el usuario.
     * @param boo
     */
    public void botonesEdit(boolean boo) {
        JBprimero.setEnabled(boo);
        JBanterior.setEnabled(boo);
        JBsiguiente.setEnabled(boo);
        JBultimo.setEnabled(boo);
        JBnuevo.setEnabled(boo);
        JBeditar.setEnabled(boo);
        JBeliminar.setEnabled(boo);
        JBguardar.setEnabled(!boo);
        JBcancelar.setEnabled(!boo);
    }

    public void enableSiguientes(boolean boo) {
        JBsiguiente.setEnabled(boo);
        JBultimo.setEnabled(boo);
    }

    public void enableAnteriores(boolean boo) {
        JBprimero.setEnabled(boo);
        JBanterior.setEnabled(boo);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jToolBar = new javax.swing.JToolBar();
        JBprimero = new javax.swing.JButton();
        JBanterior = new javax.swing.JButton();
        JBsiguiente = new javax.swing.JButton();
        JBultimo = new javax.swing.JButton();
        jSeparator1 = new javax.swing.JToolBar.Separator();
        JBnuevo = new javax.swing.JButton();
        JBeditar = new javax.swing.JButton();
        JBeliminar = new javax.swing.JButton();
        jSeparator2 = new javax.swing.JToolBar.Separator();
        JBguardar = new javax.swing.JButton();
        JBcancelar = new javax.swing.JButton();

        setFrameIcon(new javax.swing.ImageIcon(getClass().getResource("/img/16x16/apps/window_list.png"))); // NOI18N
        getContentPane().setLayout(new java.awt.FlowLayout());

        jToolBar.setFloatable(false);
        jToolBar.setRollover(true);

        JBprimero.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/2leftarrow.png"))); // NOI18N
        JBprimero.setText("Primero");
        JBprimero.setFocusable(false);
        JBprimero.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBprimero.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBprimero);

        JBanterior.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/1leftarrow.png"))); // NOI18N
        JBanterior.setText("Anterior");
        JBanterior.setFocusable(false);
        JBanterior.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBanterior.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBanterior);

        JBsiguiente.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/1rightarrow.png"))); // NOI18N
        JBsiguiente.setText("Siguiente");
        JBsiguiente.setFocusable(false);
        JBsiguiente.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBsiguiente.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBsiguiente);

        JBultimo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/2rightarrow.png"))); // NOI18N
        JBultimo.setText("Ultimo");
        JBultimo.setFocusable(false);
        JBultimo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBultimo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBultimo);
        jToolBar.add(jSeparator1);

        JBnuevo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/edit_add.png"))); // NOI18N
        JBnuevo.setText("Nuevo");
        JBnuevo.setFocusable(false);
        JBnuevo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBnuevo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBnuevo);

        JBeditar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/pencil.png"))); // NOI18N
        JBeditar.setText("Editar");
        JBeditar.setFocusable(false);
        JBeditar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBeditar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBeditar);

        JBeliminar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/edit_remove.png"))); // NOI18N
        JBeliminar.setText("Eliminar");
        JBeliminar.setFocusable(false);
        JBeliminar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBeliminar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBeliminar);
        jToolBar.add(jSeparator2);

        JBguardar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/filesave.png"))); // NOI18N
        JBguardar.setText("Guardar");
        JBguardar.setFocusable(false);
        JBguardar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBguardar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBguardar);

        JBcancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/48x48/actions/cancel.png"))); // NOI18N
        JBcancelar.setText("Cancelar");
        JBcancelar.setFocusable(false);
        JBcancelar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        JBcancelar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jToolBar.add(JBcancelar);

        getContentPane().add(jToolBar);
    }// </editor-fold>//GEN-END:initComponents


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton JBanterior;
    private javax.swing.JButton JBcancelar;
    private javax.swing.JButton JBeditar;
    private javax.swing.JButton JBeliminar;
    private javax.swing.JButton JBguardar;
    private javax.swing.JButton JBnuevo;
    private javax.swing.JButton JBprimero;
    private javax.swing.JButton JBsiguiente;
    private javax.swing.JButton JBultimo;
    private javax.swing.JToolBar.Separator jSeparator1;
    private javax.swing.JToolBar.Separator jSeparator2;
    private javax.swing.JToolBar jToolBar;
    // End of variables declaration//GEN-END:variables

}
